﻿Public Class AnimationVulkanEinschlag
    Inherits ObjektAnimation
    Const HalteFrame As Integer = 2
    Dim Zähler As Integer = 0
    Public Sub New(ByVal X As Integer, ByVal Y As Integer, ByVal Musikspielen As Boolean)
        MyBase.New(True, ObjektSpielfeld.Bodenschlacht)
        P.X = X
        P.Y = Y
        Frames = 1
        BildID = LoadTextur("VulkanEinschlag", Frames)
        If Musikspielen = True Then
            '    MusikEngine.LoadWav(My.Settings.Resourcenpfad + "Sound\Explosion+Bombe.wav", False)
        End If
    End Sub

    Public Overrides Function Malen(ByVal intColor As System.Drawing.Color, Optional ByVal Zoomfaktor As Single = 1.0) As Boolean
        Dim sngRotation As Double = 0
        Dim T As Textur = Texturen(BildID)
        Grafikengine.szfScale = Nothing
        If Frame < 5 Then
            Grafikengine.ptfPosition = New Drawing.Point(Hauptmenü.Feldbreite * P.X + Objektverwalter.Spielfeld.BildschirmKooX, Hauptmenü.Feldbreite * P.Y + Objektverwalter.Spielfeld.BildschirmKooY - 10 * (4 - Frames))
        Else
            Grafikengine.ptfPosition = New Drawing.Point(Hauptmenü.Feldbreite * P.X + Objektverwalter.Spielfeld.BildschirmKooX, Hauptmenü.Feldbreite * P.Y + Objektverwalter.Spielfeld.BildschirmKooY)
        End If
        SetFrameBild(Frame)
        Grafikengine.Sprite.Draw2D(T.TexturBild, Grafikengine.recBild, Grafikengine.szfScale, Grafikengine.ptfRotCenter, sngRotation, Grafikengine.ptfPosition, intColor)
        Frame += 1
        If Frame < 9 Then
            Return True
        Else
            Return False
        End If
    End Function

    Public Sub SetFrameBild(ByVal Frame As Integer)
        Select Case Frame
            Case Is < 5
                If Hauptmenü.ZoomedIn Then
                    With Grafikengine.recBild
                        .X = 0 : .Width = 21
                        .Y = 0 : .Height = Hauptmenü.Feldbreite * 5 / 2
                    End With
                    Grafikengine.ptfRotCenter = New Point(10, Hauptmenü.Feldbreite * 5 / 4)
                Else
                    With Grafikengine.recBild
                        .X = 0 : .Width = 14
                        .Y = 0 : .Height = Hauptmenü.Feldbreite * 5 / 2
                    End With
                    Grafikengine.ptfRotCenter = New Point(7, Hauptmenü.Feldbreite * 5 / 4)
                End If
               
            Case Is < 7
                If Hauptmenü.ZoomedIn Then
                    With Grafikengine.recBild
                        .X = 21 : .Width = 32
                        .Y = 0 : .Height = Hauptmenü.Feldbreite * 5 / 2
                    End With
                    Grafikengine.ptfRotCenter = New Point(16, Hauptmenü.Feldbreite * 5 / 4)
                Else
                    With Grafikengine.recBild
                        .X = 14 : .Width = 21
                        .Y = 0 : .Height = Hauptmenü.Feldbreite * 5 / 2
                    End With
                    Grafikengine.ptfRotCenter = New Point(10, Hauptmenü.Feldbreite * 5 / 4)
                End If
            Case Is < 9
                If Hauptmenü.ZoomedIn Then
                    With Grafikengine.recBild
                        .X = 53 : .Width = 42
                        .Y = 0 : .Height = Hauptmenü.Feldbreite * 5 / 2
                    End With
                    Grafikengine.ptfRotCenter = New Point(21, Hauptmenü.Feldbreite * 5 / 4)
                Else
                    With Grafikengine.recBild
                        .X = 35 : .Width = 28
                        .Y = 0 : .Height = Hauptmenü.Feldbreite * 5 / 2
                    End With
                    Grafikengine.ptfRotCenter = New Point(14, Hauptmenü.Feldbreite * 5 / 4)
                End If
            Case Is < 11
                If Hauptmenü.ZoomedIn Then
                    With Grafikengine.recBild
                        .X = 95 : .Width = Hauptmenü.Feldbreite * 2
                        .Y = 0 : .Height = Hauptmenü.Feldbreite * 5 / 2
                    End With
                    Grafikengine.ptfRotCenter = New Point(Hauptmenü.Feldbreite / 2, Hauptmenü.Feldbreite * 5 / 4)
                Else
                    With Grafikengine.recBild
                        .X = 63 : .Width = Hauptmenü.Feldbreite * 2
                        .Y = 0 : .Height = Hauptmenü.Feldbreite * 5 / 2
                    End With
                    Grafikengine.ptfRotCenter = New Point(Hauptmenü.Feldbreite / 2, Hauptmenü.Feldbreite * 5 / 4)
                End If
        End Select
    End Sub
End Class
